Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Prediction by Partial Matching</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Prediction_by_Partial_Matching"> <link href="./_mw_/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Prediction_by_Partial_Matching rootpage-Prediction_by_Partial_Matching skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Prediction by Partial Matching</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><p><span lang="en"><b>Prediction by Partial Matching</b></span> (<b>PPM</b>, <a href="Englische_Sprache" title="Englische Sprache">englisch</a>) ist eine Familie anpassender <a href="Statistik" title="Statistik">statistischer</a> <a href="Datenkompression" title="Datenkompression">Datenkompressionsalgorithmen</a>, die auf Kontextmodellen und <a href="Prognose" title="Prognose">Prognosen</a> aufbaut. PPM-Modelle benutzen einen Satz von Symbolen aus dem vorangegangenen Symbolstrom, um das nächste Symbol des Stromes vorherzusagen.
</p><p>Voraussagen werden üblicherweise auf Wertungen der Symbole beschränkt. Die Zahl vorhergehender Symbole, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>n</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/a601995d55609f2d9f5e233e36fbe9ea26011b3b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.395ex; height:1.676ex;" alt="{\displaystyle n}" loading="lazy"></span>, legt die Ordnung des PPM-Modelles fest, das als <i>PPM(n)</i> festgehalten wird. Unbegrenzte Varianten ohne Beschränkungen der Länge des Kontextes existieren auch und werden mit <i>PPM*</i> bezeichnet. Wenn aufgrund aller n Kontextsymbole keine Vorhersage gemacht werden kann, so wird eine Prognose aufgrund von <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n-1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>n</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n-1}</annotation>
</semantics>
</math></span><img src="./_assets_/eb734a37dd21ce173a46342d1cc64c92/fbd0b0f32b28f51962943ee9ede4fb34198a2521.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:5.398ex; height:2.343ex;" alt="{\displaystyle n-1}" loading="lazy"></span> versucht. Dieses Vorgehen wird wiederholt, bis ein Treffer gefunden wird oder keine Symbole im Kontext verbleiben. Zu diesem Zeitpunkt wird eine Vorhersage festgelegt. Dieser Prozess ist die Umkehrung dessen, gefolgt von dynamischen <a href="Markow-Kette" title="Markow-Kette">Markow-Vorhersagen</a>, die von einem Modell der Ordnung 0 aufbauen.
</p><p>Ein großer Teil der Arbeit an der Optimierung eines PPM-Modells betrifft den Umgang mit Eingaben, die im Eingabestrom noch nicht auftraten. Der offensichtliche Weg damit umzugehen besteht darin, ein „Unbekannt-Symbol“ zu erzeugen, das die <a href="Escape-Sequenz" title="Escape-Sequenz">Escape-Sequenz</a> auslöst. Doch welche Wahrscheinlichkeit soll einem Symbol zugeordnet werden, das noch nie aufgetreten ist? Dies wird das <i>Problem der 0-Häufigkeit</i> genannt. Eine Vorgehensweise teilt dem „Unbekannt-Symbol“ einen festgelegten Pseudowert von 1 zu. Eine PPM-D genannte Variante erhöht den Pseudowert bei jedem Auftritt des „Unbekannt-Symbols“. (Anders ausgedrückt schätzt PPM-D also die Wahrscheinlichkeit eines neuen Symbols als das Verhältnis der Anzahl einzigartiger Symbole zur Anzahl aller Symbole insgesamt.)
</p><p>Umsetzungen von Kompression mittels PPM sind in anderen Details sehr unterschiedlich. Die eigentliche Symbolauswahl wird üblicherweise <a href="Arithmetisches_Kodieren" title="Arithmetisches Kodieren">arithmetisch kodiert</a>, obwohl auch <a href="Huffman-Kodierung" title="Huffman-Kodierung">Huffman-Kodierung</a> oder auch eine Art <a href="W%C3%B6rterbuchkompression" title="Wörterbuchkompression">Wörterbuchkodierung</a> möglich sind. Das zugrunde liegende Modell der meisten PPM-Algorithmen kann auch erweitert werden, um mehrere Symbole vorherzusagen. Es ist auch möglich, andere als die Markow-Modellerstellung zu verwenden, um diese entweder ganz zu ersetzen oder zu ergänzen. Die Symbolgröße ist für gewöhnlich statisch, typischerweise ein einzelnes Byte, was die generische Unterstützung jeglicher Dateiformate leicht macht.
</p><p>Veröffentlichungen über Forschungen an dieser Algorithmusfamilie finden sich bis zurück in die Mitte der 1980er Jahre. Softwareumsetzungen erfreuten sich bis zu den frühen 1990er Jahren keiner Beliebtheit, da PPM-Algorithmen eine beachtliche Menge an <a href="Arbeitsspeicher" title="Arbeitsspeicher">Arbeitsspeicher</a> benötigen. Neuere Umsetzungen von PPM finden sich unter den leistungsfähigsten verlustfreien Datenkompressionsverfahren für Text in <a href="Nat%C3%BCrliche_Sprache" title="Natürliche Sprache">natürlichen Sprachen</a>.
</p><p>Der Versuch, PPM-Algorithmen zu verbessern, führte zu den <a href="PAQ" title="PAQ">PAQ</a>-Kompressionsalgorithmen.
</p>
<div class="mw-heading mw-heading2"><h2 id="Literatur">Literatur</h2></div>
<ul><li>J. Cleary, I. Witten: <cite style="font-style:italic">Data Compression Using Adaptive Coding and Partial String Matching</cite>. In: <cite style="font-style:italic">Communications, IEEE Transactions on</cite>. <span style="white-space:nowrap">Band<span style="display:inline-block;width:.2em">&nbsp;</span>32</span>, <span style="white-space:nowrap">Nr.<span style="display:inline-block;width:.2em">&nbsp;</span>4</span>, 1984, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em">&nbsp;</span>396–402</span>, <a href="Digital_Object_Identifier" title="Digital Object Identifier">doi</a>:<span class="uri-handle" style="white-space:nowrap"><a rel="nofollow" class="external text" href="https://doi.org/10.1109/TCOM.1984.1096090">10.1109/TCOM.1984.1096090</a></span>.<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rfr_id=info:sid/de.wikipedia.org:Prediction+by+Partial+Matching&amp;rft.atitle=Data+Compression+Using+Adaptive+Coding+and+Partial+String+Matching&amp;rft.au=J.+Cleary%2C+I.+Witten&amp;rft.date=1984&amp;rft.doi=10.1109%2FTCOM.1984.1096090&amp;rft.genre=journal&amp;rft.issue=4&amp;rft.jtitle=Communications%2C+IEEE+Transactions+on&amp;rft.pages=396-402&amp;rft.volume=32" style="display:none">&nbsp;</span></li>
<li>A. Moffat: <cite style="font-style:italic">Implementing the PPM data compression scheme</cite>. In: <cite style="font-style:italic">Communications, IEEE Transactions on</cite>. <span style="white-space:nowrap">Band<span style="display:inline-block;width:.2em">&nbsp;</span>38</span>, <span style="white-space:nowrap">Nr.<span style="display:inline-block;width:.2em">&nbsp;</span>11</span>, 1990, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em">&nbsp;</span>1917–1921</span>, <a href="Digital_Object_Identifier" title="Digital Object Identifier">doi</a>:<span class="uri-handle" style="white-space:nowrap"><a rel="nofollow" class="external text" href="https://doi.org/10.1109/26.61469">10.1109/26.61469</a></span>.<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rfr_id=info:sid/de.wikipedia.org:Prediction+by+Partial+Matching&amp;rft.atitle=Implementing+the+PPM+data+compression+scheme&amp;rft.au=A.+Moffat&amp;rft.date=1990&amp;rft.doi=10.1109%2F26.61469&amp;rft.genre=journal&amp;rft.issue=11&amp;rft.jtitle=Communications%2C+IEEE+Transactions+on&amp;rft.pages=1917-1921&amp;rft.volume=38" style="display:none">&nbsp;</span></li>
<li>J. G. Cleary, W. J. Teahan, I. H. Witten: <cite style="font-style:italic">Unbounded length contexts for PPM</cite>. In: <cite style="font-style:italic">Proceedings DCC-95</cite>. IEEE Computer Society Press, 1995 (<a rel="nofollow" class="external text" href="http://www.cs.waikato.ac.nz/~ihw/papers/95JC-WT-IHW-Unbound.pdf">cs.waikato.ac.nz</a> [PDF]).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:Prediction+by+Partial+Matching&amp;rft.atitle=Unbounded+length+contexts+for+PPM&amp;rft.au=J.+G.+Cleary%2C+W.+J.+Teahan%2C+I.+H.+Witten&amp;rft.btitle=Proceedings+DCC-95&amp;rft.date=1995&amp;rft.genre=book&amp;rft.pub=IEEE+Computer+Society+Press" style="display:none">&nbsp;</span> Alternativ: J. G. Cleary, W. J. Teahan: <cite style="font-style:italic">Unbounded Length Contexts for PPM</cite>. In: <cite style="font-style:italic">The Computer Journal</cite>. <span style="white-space:nowrap">Band<span style="display:inline-block;width:.2em">&nbsp;</span>40</span>, <span style="white-space:nowrap">Nr.<span style="display:inline-block;width:.2em">&nbsp;</span>2–3</span>, 1997, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em">&nbsp;</span>67–75</span>, <a href="Digital_Object_Identifier" title="Digital Object Identifier">doi</a>:<span class="uri-handle" style="white-space:nowrap"><a rel="nofollow" class="external text" href="https://doi.org/10.1093/comjnl%2F40.2_and_3.67">10.1093/comjnl/40.2_and_3.67</a></span>.<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rfr_id=info:sid/de.wikipedia.org:Prediction+by+Partial+Matching&amp;rft.atitle=Unbounded+Length+Contexts+for+PPM&amp;rft.au=J.+G.+Cleary%2C+W.+J.+Teahan&amp;rft.date=1997&amp;rft.doi=10.1093%2Fcomjnl%2F40.2_and_3.67&amp;rft.genre=journal&amp;rft.issue=2-3&amp;rft.jtitle=The+Computer+Journal&amp;rft.pages=67-75&amp;rft.volume=40" style="display:none">&nbsp;</span></li>
<li>C. Bloom, <a rel="nofollow" class="external text" href="http://www.cbloom.com/papers/ppmz.zip">Solving the problems of context modeling</a> (<a href="ZIP-Dateiformat" title="ZIP-Dateiformat">ZIP</a>; 43&nbsp;kB).</li>
<li>W. J Teahan: <cite style="font-style:italic">Probability estimation for PPM</cite>. In: <cite style="font-style:italic">Proceedings NZCSRSC'95</cite>. 1995 (<a rel="nofollow" class="external text" href="http://cotty.16x16.com/compress/peppm.htm">cotty.16x16.com</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20010605194536/http://www.cs.waikato.ac.nz/~wjt/papers/NZCSRSC.ps.gz">Original Source from archive.org</a> [abgerufen am 31.&nbsp;Januar 2023]).<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&amp;rfr_id=info:sid/de.wikipedia.org:Prediction+by+Partial+Matching&amp;rft.atitle=Probability+estimation+for+PPM&amp;rft.au=W.+J+Teahan&amp;rft.btitle=Proceedings+NZCSRSC%2795&amp;rft.date=1995&amp;rft.genre=book" style="display:none">&nbsp;</span></li>
<li>Thomas Schürmann, <a href="Peter_Grassberger" title="Peter Grassberger">Peter Grassberger</a>: <cite style="font-style:italic">Entropy estimation of symbol sequences</cite>. In: <cite style="font-style:italic">Chaos: An Interdisciplinary Journal of Nonlinear Science</cite>. <span style="white-space:nowrap">Band<span style="display:inline-block;width:.2em">&nbsp;</span>6</span>, <span style="white-space:nowrap">Nr.<span style="display:inline-block;width:.2em">&nbsp;</span>3</span>, 1996, <span style="white-space:nowrap">S.<span style="display:inline-block;width:.2em">&nbsp;</span>414</span>, <a href="Digital_Object_Identifier" title="Digital Object Identifier">doi</a>:<span class="uri-handle" style="white-space:nowrap"><a rel="nofollow" class="external text" href="https://doi.org/10.1063/1.166191">10.1063/1.166191</a></span>, <a href="ArXiv" title="ArXiv">arxiv</a>:<a rel="nofollow" class="external text" href="https://arxiv.org/abs/cond-mat/0203436v1">cond-mat/0203436v1</a>.<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;rfr_id=info:sid/de.wikipedia.org:Prediction+by+Partial+Matching&amp;rft.atitle=Entropy+estimation+of+symbol+sequences&amp;rft.au=Thomas+Sch%C3%BCrmann%2C+Peter+Grassberger&amp;rft.date=1996&amp;rft.doi=10.1063%2F1.166191&amp;rft.genre=journal&amp;rft.issue=3&amp;rft.jtitle=Chaos%3A+An+Interdisciplinary+Journal+of+Nonlinear+Science&amp;rft.pages=414&amp;rft.volume=6" style="display:none">&nbsp;</span></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://mattmahoney.net/dc/text.html">Paket von PPM Kompressoren mit Benchmarks</a></li>
<li><a rel="nofollow" class="external text" href="http://www3.sympatico.ca/mt0000/bicom/bicom.html">BICOM, a bijective PPM compressor</a></li>
<li><a rel="nofollow" class="external text" href="http://dogma.net/markn/articles/arith/part2.htm">"Arithmetic Coding + Statistical Modeling = Data Compression", Part 2</a></li>
<li><a rel="nofollow" class="external text" href="http://compression.ru/ds/">PPMd compressor</a> von Dmitri Shkarin</li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2023-01-31" href="https://de.wikipedia.org/wiki/?title=Prediction_by_Partial_Matching&amp;oldid=230401140">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>